/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is Forte for Java, Community Edition. The Initial
* Developer of the Original Code is Sun Microsystems, Inc. Portions
* Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.core.execution;
import java.io.OutputStream;
import java.io.PrintStream;
import org.openide.TopManager;
import org.openide.windows.OutputWriter;
/** used for redirection System.out/err
*
* @author Ales Novak
* @version 0.10 Dec 03, 1997
*/
public class SysPrintStream extends PrintStream {
/** OutputWriter */
private OutputWriter ow;
public SysPrintStream (final OutputWriter ow) {
super(createOutputStream (ow));
this.ow = ow;
}
private static OutputStream createOutputStream(final OutputWriter ow) {
return new OutputStream () {
public void write(int b) {
new WriteDispatcher(ow, null, b, -1);
}
public void write(byte[] buff, int off, int len) {
String s = new String(buff, off, len);
byte[] nbuff = new byte[len];
System.arraycopy(buff, off, nbuff, 0, len);
new WriteDispatcher(ow, nbuff, off, len);
}
public void flush () {
ow.flush ();
}
public void close () {
ow.close ();
}
};
}
/** resets this stream */
void reset() {
try {
ow.reset();
} catch (java.io.IOException ex) {
}
}
}
/*
* Log
* 4 Gandalf 1.3 10/22/99 Ian Formanek NO SEMANTIC CHANGE - Sun
* Microsystems Copyright in File Comment
* 3 Gandalf 1.2 6/8/99 Ian Formanek ---- Package Change To
* org.openide ----
* 2 Gandalf 1.1 2/4/99 Petr Hamernik changes to be compiled
* by jikes
* 1 Gandalf 1.0 1/5/99 Ian Formanek
* $
*/